package com.scs.application.modules.equipment.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.scs.application.core.entity.DataEntity;
import com.scs.application.modules.upgrade.db.annotation.EntityClassAnnotation;
import com.scs.application.modules.upgrade.db.enums.EntityFieldType;
import lombok.Data;
import lombok.experimental.Accessors;
import com.scs.application.modules.upgrade.db.annotation.EntityFieldAnnotation;

import java.io.Serializable;
import java.util.Date;
/**
 * <p>
 * 设备档案表
 * </p>
 *
 * @author CodeGenerator
 * @since 2023-11-15
 */
@TableName("base_asset")
@EntityClassAnnotation(remark = "设备信息表")
@Accessors(chain = true)
@Data
public class BaseAsset extends DataEntity {



//        @EntityFieldAnnotation(
//            text = "主键",
//              type = EntityFieldType.LONG,
//            not_null = false,
//            default_value = "0",
//            comment = "主键"
//    )
//    private String id;

        @EntityFieldAnnotation(
            text = "资产卡片编号（对应条码、二维码）",
            not_null = false,
            default_value = "",
            comment = "资产卡片编号（对应条码、二维码）"
    )
    private String assetcode;

        @EntityFieldAnnotation(
            text = "资产名称",
            not_null = false,
            default_value = "",
            comment = "资产名称"
    )
    private String assetname;

        @EntityFieldAnnotation(
            text = "规格型号",
            not_null = false,
            default_value = "",
            comment = "规格型号"
    )
    private String specmodel;

        @EntityFieldAnnotation(
            text = "单位",
            not_null = false,
            default_value = "",
            comment = "单位"
    )
    private String unit;

        @EntityFieldAnnotation(
            text = "资产分类",
            not_null = false,
            default_value = "",
            comment = "资产分类"
    )
    private String assetclass;

        @EntityFieldAnnotation(
            text = "资产状态（0新入,	1.在用，	2闲置，	3未出库，	4报废,	5维修,	6待报废	7.盘亏出库 	8已处置）在用、待修、在修、备用、闲置、调剂、待报废、报废",
            not_null = false,
            default_value = "0",
            comment = "资产状态（0新入,	1.在用，	2闲置，	3未出库，	4报废,	5维修,	6待报废	7.盘亏出库 	8已处置）在用、待修、在修、备用、闲置、调剂、待报废、报废"
    )
    private Integer assetstatus;

        @EntityFieldAnnotation(
            text = "院内财务分类",
            not_null = false,
            default_value = "",
            comment = "院内财务分类"
    )
    private String financialclass;

        @EntityFieldAnnotation(
            text = "财政国标分类（政府采购品目分类目录）",
            not_null = false,
            default_value = "",
            comment = "财政国标分类（政府采购品目分类目录）"
    )
    private String gpcatalog;

        @EntityFieldAnnotation(
            text = "品牌",
            not_null = false,
            default_value = "",
            comment = "品牌"
    )
    private String brand;

        @EntityFieldAnnotation(
            text = "生产厂家编码",
              type = EntityFieldType.LONG,
            not_null = false,
            default_value = "0",
            comment = "生产厂家编码"
    )
    private String mfgid;

        @EntityFieldAnnotation(
            text = "生产厂家名称",
            not_null = false,
            default_value = "",
            comment = "生产厂家名称"
    )
    private String mfgname;

        @EntityFieldAnnotation(
            text = "注册证号",
            not_null = false,
            default_value = "",
            comment = "注册证号"
    )
    private String registcode;

        @EntityFieldAnnotation(
            text = "注册证名称",
            not_null = false,
            default_value = "",
            comment = "注册证名称"
    )
    private String registname;

        @EntityFieldAnnotation(
            text = "产品序列号",
            not_null = false,
            default_value = "",
            comment = "产品序列号"
    )
    private String serialnumber;

        @EntityFieldAnnotation(
            text = "出厂编号",
            not_null = false,
            default_value = "",
            comment = "出厂编号"
    )
    private String productnumber;

        @EntityFieldAnnotation(
            text = "出厂日期",
            not_null = false,
            default_value = "",
            comment = "出厂日期"
    )
    private Date producedate;

        @EntityFieldAnnotation(
            text = "管理科室",
              type = EntityFieldType.LONG,
            not_null = false,
            default_value = "0",
            comment = "管理科室"
    )
    private String managedept;

        @EntityFieldAnnotation(
            text = "电子定位号",
            not_null = false,
            default_value = "",
            comment = "电子定位号"
    )
    private String elfcode;

        @EntityFieldAnnotation(
            text = "电子标签号",
            not_null = false,
            default_value = "",
            comment = "电子标签号"
    )
    private String rfidcode;

        @EntityFieldAnnotation(
            text = "启用日期",
            not_null = false,
            default_value = "",
            comment = "启用日期"
    )
    private Date activationdate;

        @EntityFieldAnnotation(
            text = "使用年限",
            not_null = false,
            default_value = "0",
            comment = "使用年限"
    )
    private Integer servicelife;

        @EntityFieldAnnotation(
            text = "采购来源",
            not_null = false,
            default_value = "",
            comment = "采购来源"
    )
    private String buysource;

        @EntityFieldAnnotation(
            text = "供应商编码",
              type = EntityFieldType.LONG,
            not_null = false,
            default_value = "0",
            comment = "供应商编码"
    )
    private String supplierid;

        @EntityFieldAnnotation(
            text = "供应商名称",
            not_null = false,
            default_value = "",
            comment = "供应商名称"
    )
    private String suppliername;

        @EntityFieldAnnotation(
            text = "联系人及电话",
            not_null = false,
            default_value = "",
            comment = "联系人及电话"
    )
    private String suppliercontact;

        @EntityFieldAnnotation(
            text = "合同编号",
            not_null = false,
            default_value = "",
            comment = "合同编号"
    )
    private String contractnumber;

        @EntityFieldAnnotation(
            text = "发票号码",
            not_null = false,
            default_value = "",
            comment = "发票号码"
    )
    private String invoicenumber;

        @EntityFieldAnnotation(
            text = "验收日期",
            not_null = false,
            default_value = "",
            comment = "验收日期"
    )
    private Date acceptdate;

        @EntityFieldAnnotation(
            text = "验收人",
            not_null = false,
            default_value = "",
            comment = "验收人"
    )
    private String accepter;

        @EntityFieldAnnotation(
            text = "入库日期",
            not_null = false,
            default_value = "",
            comment = "入库日期"
    )
    private Date storagedate;

        @EntityFieldAnnotation(
            text = "使用科室",
              type = EntityFieldType.LONG,
            not_null = false,
            default_value = "0",
            comment = "使用科室"
    )
    private String usingdept;

        @EntityFieldAnnotation(
            text = "使用责任人",
              type = EntityFieldType.LONG,
            not_null = false,
            default_value = "0",
            comment = "使用责任人"
    )
    private String usingcharge;

        @EntityFieldAnnotation(
            text = "存放地址",
              type = EntityFieldType.LONG,
            not_null = false,
            default_value = "0",
            comment = "存放地址"
    )
    private String storageaddress;

        @EntityFieldAnnotation(
            text = "出库日期",
            not_null = false,
            default_value = "",
            comment = "出库日期"
    )
    private Date deliverydate;

        @EntityFieldAnnotation(
            text = "维保状态",
            not_null = false,
            default_value = "0",
            comment = "维保状态"
    )
    private Integer servicestatus;

        @EntityFieldAnnotation(
            text = "资金来源",
            not_null = false,
            default_value = "",
            comment = "资金来源"
    )
    private String fundsource;

        @EntityFieldAnnotation(
            text = "维保类型（1、原厂维保，2、医院自修，3、送修；4,、第三方维保）",
            not_null = false,
            default_value = "0",
            comment = "维保类型（1、原厂维保，2、医院自修，3、送修；4,、第三方维保）"
    )
    private Integer serviceclass;

        @EntityFieldAnnotation(
            text = "维修主体",
              type = EntityFieldType.LONG,
            not_null = false,
            default_value = "0",
            comment = "维修主体"
    )
    private String serviceorgan;

        @EntityFieldAnnotation(
            text = "联系人及电话",
            not_null = false,
            default_value = "",
            comment = "联系人及电话"
    )
    private String servicecontact;

        @EntityFieldAnnotation(
            text = "维修人(维保工程师)",
            not_null = false,
            default_value = "",
            comment = "维修人(维保工程师)"
    )
    private String serviceengineer;

        @EntityFieldAnnotation(
            text = "维保期限（维保到期日）",
            not_null = false,
            default_value = "",
            comment = "维保期限（维保到期日）"
    )
    private Date serviceperiod;

        @EntityFieldAnnotation(
            text = "原值（预估，不填时默认为0）",
            not_null = false,
            comment = "原值（预估，不填时默认为0）"
    )
    private BigDecimal originalvalue;

        @EntityFieldAnnotation(
            text = "折旧方法id（折旧字典）",
            not_null = false,
            default_value = "0",
            comment = "折旧方法id（折旧字典）"
    )
    private Integer deprmethod;

        @EntityFieldAnnotation(
            text = "折旧总期数（按月计算）",
              type = EntityFieldType.LONG,
            not_null = false,
            default_value = "0",
            comment = "折旧总期数（按月计算）"
    )
    private String deprtotal;

        @EntityFieldAnnotation(
            text = "残值率（用小数表示）",
            not_null = false,
            comment = "残值率（用小数表示）"
    )
    private BigDecimal residualrate;

        @EntityFieldAnnotation(
            text = "开始折旧日期",
            not_null = false,
            default_value = "",
            comment = "开始折旧日期"
    )
    private Date deprbegindate;

        @EntityFieldAnnotation(
            text = "净值",
            not_null = false,
            comment = "净值"
    )
    private BigDecimal networth;

        @EntityFieldAnnotation(
            text = "累计折旧额",
            not_null = false,
            comment = "累计折旧额"
    )
    private BigDecimal depramount;

        @EntityFieldAnnotation(
            text = "累计折旧期数",
            not_null = false,
            default_value = "0",
            comment = "累计折旧期数"
    )
    private Integer deprperiod;

        @EntityFieldAnnotation(
            text = "入账标志（0:未入账；1：已入账）",
            not_null = false,
            default_value = "0",
            comment = "入账标志（0:未入账；1：已入账）"
    )
    private Integer accountstatus;

        @EntityFieldAnnotation(
            text = "建账人",
              type = EntityFieldType.LONG,
            not_null = false,
            default_value = "0",
            comment = "建账人"
    )
    private String accountcreator;

        @EntityFieldAnnotation(
            text = "入账日期",
            not_null = false,
            default_value = "",
            comment = "入账日期"
    )
    private Date accountdate;

        @EntityFieldAnnotation(
            text = "追溯码（全业务流程追溯）",
              type = EntityFieldType.LONG,
            not_null = false,
            default_value = "0",
            comment = "追溯码（全业务流程追溯）"
    )
    private String tracecode;

        @EntityFieldAnnotation(
            text = "设备标志（（0.否；1.是）",
            not_null = false,
            default_value = "0",
            comment = "设备标志（（0.否；1.是）"
    )
    private Integer equipflag;

        @EntityFieldAnnotation(
            text = "设备编号（设备卡片编号）",
            not_null = false,
            default_value = "",
            comment = "设备编号（设备卡片编号）"
    )
    private String equipcode;

        @EntityFieldAnnotation(
            text = "医疗设备分类",
              type = EntityFieldType.LONG,
            not_null = false,
            default_value = "0",
            comment = "医疗设备分类"
    )
    private String medicalcatalog;

        @EntityFieldAnnotation(
            text = "计量标志（0.否；1.是）",
            not_null = false,
            default_value = "0",
            comment = "计量标志（0.否；1.是）"
    )
    private Integer meteringflag;

        @EntityFieldAnnotation(
            text = "特种设备标志（0.否；1.是）",
            not_null = false,
            default_value = "0",
            comment = "特种设备标志（0.否；1.是）"
    )
    private Integer specialflag;

        @EntityFieldAnnotation(
            text = "放射（辐射）设备标志（0.否；1.是）",
            not_null = false,
            default_value = "0",
            comment = "放射（辐射）设备标志（0.否；1.是）"
    )
    private Integer radiateflag;

        @EntityFieldAnnotation(
            text = "急救（生命）支持设备标志（0.否；1.是）",
            not_null = false,
            default_value = "0",
            comment = "急救（生命）支持设备标志（0.否；1.是）"
    )
    private Integer firstaidflag;

        @EntityFieldAnnotation(
            text = "科研（科教）设备标志（0.否；1.是）",
            not_null = false,
            default_value = "0",
            comment = "科研（科教）设备标志（0.否；1.是）"
    )
    private Integer scientificflag;

        @EntityFieldAnnotation(
            text = "大型设备标志（0.否；1.是）",
            not_null = false,
            default_value = "0",
            comment = "大型设备标志（0.否；1.是）"
    )
    private Integer largeflag;

        @EntityFieldAnnotation(
            text = "中型设备标志（0.否；1.是）",
            not_null = false,
            default_value = "0",
            comment = "中型设备标志（0.否；1.是）"
    )
    private Integer mediumflag;

        @EntityFieldAnnotation(
            text = "小型设备标志（0.否；1.是",
            not_null = false,
            default_value = "0",
            comment = "小型设备标志（0.否；1.是"
    )
    private Integer smallflag;

        @EntityFieldAnnotation(
            text = "公用平台设备标志（0.否；1.是）",
            not_null = false,
            default_value = "0",
            comment = "公用平台设备标志（0.否；1.是）"
    )
    private Integer publicflag;

        @EntityFieldAnnotation(
            text = "重点医学装备标志（0.否；1.是）",
            not_null = false,
            default_value = "0",
            comment = "重点医学装备标志（0.否；1.是）"
    )
    private Integer pointsflag;

        @EntityFieldAnnotation(
            text = "灭菌类设备标志（0.否；1.是）",
            not_null = false,
            default_value = "0",
            comment = "灭菌类设备标志（0.否；1.是）"
    )
    private Integer sterilisatioflag;

        @EntityFieldAnnotation(
            text = "压力容器类设备标志（0.否；1.是）",
            not_null = false,
            default_value = "0",
            comment = "压力容器类设备标志（0.否；1.是）"
    )
    private Integer pressureflag;

        @EntityFieldAnnotation(
            text = "随机资料-说明书",
            not_null = false,
            default_value = "0",
            comment = "随机资料-说明书"
    )
    private Integer randomdescription;

        @EntityFieldAnnotation(
            text = "随机资料-合格证",
            not_null = false,
            default_value = "0",
            comment = "随机资料-合格证"
    )
    private Integer randomcertificate;

        @EntityFieldAnnotation(
            text = "随机资料-保修卡",
            not_null = false,
            default_value = "0",
            comment = "随机资料-保修卡"
    )
    private Integer randomwarranty;

        @EntityFieldAnnotation(
            text = "随机资料-报关单",
            not_null = false,
            default_value = "0",
            comment = "随机资料-报关单"
    )
    private Integer randomcustoms;

        @EntityFieldAnnotation(
            text = "随机资料-检验报告书",
            not_null = false,
            default_value = "0",
            comment = "随机资料-检验报告书"
    )
    private Integer randominspection;

}
